package com.alianzamedica.businessobject;

import java.util.Date;

/**
 * @author Carlos
 * 
 */
public class Patient extends BusinessObject {

	private Integer id; // 'PATIENT_ID', 'int(11)', 'NO', 'PRI', '',
	private String firstName; // 'PATIENT_FIRSTNAME', 'varchar(50)', 'YES', '',
	private String lastName; // 'PATIENT_LASTNAME', 'varchar(50)', 'YES', '',
	private String card; // 'PATIENT_CARD', 'varchar(50)', 'YES', '', '', ''
	private Integer age;
	private Date since;// 'PATIENT_SINCE', 'datetime', 'YES', '', '', ''
	private String comment;// 'PATIENT_COMMENT', 'varchar(800)', 'YES', '', '',
	private String location;// 'PATIENT_LOCATION', 'varchar(300)', 'YES', '',
	private Integer doctorId; // 'DOCTOR_ID', 'int(11)', 'YES', 'MUL', '', ''
	private String fullName;// 'PATIENT_FULLNAME', 'varchar(100)', 'NO', '', '',
	private String diagnostic;// 'PATIENT_DIAGNOSTIC', 'varchar(1000)', 'NO',
	private String sex; // PATIENT_SEX
	private Float weight; // PATIENT_WEIGHT
	private String phone; // PATIENT_PHONE
	private String email; // patient_email

	/**
	 * obtiene el id del paciente.
	 * 
	 * @return id del paciente.
	 */
	public Integer getId() {
		return id;
	}

	/**
	 * id del paciente.
	 * 
	 * @param id
	 *            del paciente.
	 */
	public void setId(Integer id) {
		this.id = id;
	}

	/**
	 * obtiene el nombre del paciente.
	 * 
	 * @return nombre del paciente.
	 */
	public String getFirstName() {
		return firstName;
	}

	/**
	 * setea el nombre del paciente.
	 * 
	 * @param firstName
	 *            el nombre del paciente.
	 */
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	/**
	 * obtiene el apellido.
	 * 
	 * @return apellido.
	 */
	public String getLastName() {
		return lastName;
	}

	/**
	 * setea el apellido del paciente.
	 * 
	 * @param lastName
	 *            apellido del paciente.
	 */
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	/**
	 * regresa la tarjeta del paciente.
	 * 
	 * @return tarjeta del paciente.
	 */
	public String getCard() {
		return card;
	}

	/**
	 * setea la tarjeta del paciente.
	 * 
	 * @param card
	 *            tarjeta del paciente.
	 */
	public void setCard(String card) {
		this.card = card;
	}

	/**
	 * regresa la fecha de ingreso del paciente.
	 * 
	 * @return fecha de ingreso del paciente.
	 */
	public Date getSince() {
		return since;
	}

	/**
	 * setea la fecha de ingreso del paciente.
	 * 
	 * @param since
	 *            fecha de ingreso del paciente.
	 */
	public void setSince(Date since) {
		this.since = since;
	}

	/**
	 * regresa los comentarios.
	 * 
	 * @return comentarios.
	 */
	public String getComment() {
		return comment;
	}

	/**
	 * setea los comentarios.
	 * 
	 * @param comment
	 *            comentarios.
	 */
	public void setComment(String comment) {
		this.comment = comment;
	}

	/**
	 * obtiene la direccion.
	 * 
	 * @return direccion.
	 */
	public String getLocation() {
		return location;
	}

	/**
	 * setea la direccion.
	 * 
	 * @param location
	 *            direccion.
	 */
	public void setLocation(String location) {
		this.location = location;
	}

	/**
	 * ibtiene el id del medico
	 * 
	 * @return id del medico.
	 */
	public Integer getDoctorId() {
		return doctorId;
	}

	/**
	 * setea el id del doctor.
	 * 
	 * @param doctorId
	 *            id del doctor.
	 */
	public void setDoctorId(Integer doctorId) {
		this.doctorId = doctorId;
	}

	/**
	 * regresa el nombre completo del paciente.
	 * 
	 * @return nombre completo del paciente.
	 */
	public String getFullName() {
		return fullName;
	}

	/**
	 * setea el nombre completo del paciente.
	 * 
	 * @param fullName
	 *            nombre completo del paciente.
	 */
	public void setFullName(String fullName) {
		this.fullName = fullName;
	}

	@Override
	public void setValueToSearch(String name) {
		this.fullName = name;
	}

	/**
	 * obtiene el diagnostico del paciente.
	 * 
	 * @return el diagnostico del paciente.
	 */
	public String getDiagnostic() {
		return diagnostic;
	}

	/**
	 * setea el diagnostico del paciente.
	 * 
	 * @param diagnostic
	 *            diagnostico del paciente.
	 */
	public void setDiagnostic(String diagnostic) {
		this.diagnostic = diagnostic;
	}

	/**
	 * obtiene el genero del paciente.
	 * 
	 * @return el genero del paciente.
	 */
	public String getSex() {
		return sex;
	}

	/**
	 * @param sex
	 */
	public void setSex(String sex) {
		this.sex = sex;
	}

	/**
	 * peso.
	 * 
	 * @return peso.
	 */
	public Float getWeight() {
		return weight;
	}

	/**
	 * peso.
	 * 
	 * @param weight
	 *            peso.
	 */
	public void setWeight(Float weight) {
		this.weight = weight;
	}

	/**
	 * telefono.
	 * 
	 * @return telefono.
	 */
	public String getPhone() {
		return phone;
	}

	/**
	 * telefono.
	 * 
	 * @param phone
	 *            telefono.
	 */
	public void setPhone(String phone) {
		this.phone = phone;
	}

	/**
	 * edad.
	 * 
	 * @return edad.
	 */
	public Integer getAge() {
		return age;
	}

	/**
	 * edad.
	 * 
	 * @param age
	 *            edad.
	 */
	public void setAge(Integer age) {
		this.age = age;
	}

	/**
	 * email.
	 * 
	 * @param email
	 *            email.
	 */
	public void setEmail(String email) {
		this.email = email;
	}

	/**
	 * email.
	 * 
	 * @return email.
	 */
	public String getEmail() {
		return email;
	}

}
